﻿using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Model.Tipologias;
using System.Collections;

namespace welwitschia.Tipologias
{
    public partial class WebFormTipologiasEdit : System.Web.UI.Page
    {
        ITipologiaService tipologias = new TipologiaService();
        String TIPOOPCAO = " Tipo Opção";
        String TIPOREFEICAO = " Tipo Refeição";
        String TIPOSERVICO = " Tipo Serviço";
        String CLASSEREFEICAO = " Classe Refeição";
        String MOEDAS = " Moedas";
        String UNIDADEMEDIDA = " Unidade Medida";
       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                String s = Request.QueryString["tipo"];
                if (s == null)
                {
                    return;
                }

                this.hfTipo.Value = s;

                String descritivoLable = String.Empty;

                if (s.Equals("TipoOpcao"))
                {
                    descritivoLable = TIPOOPCAO;
                }
                else if (s.Equals("TipoRefeicao"))
                {
                    descritivoLable = TIPOREFEICAO;
                }
                else if (s.Equals("TipoServico"))
                {
                    descritivoLable = TIPOSERVICO;
                }
                else if (s.Equals("ClasseRefeicao"))
                {
                    descritivoLable = CLASSEREFEICAO;
                }
                else if (s.Equals("Modeda"))
                {
                    descritivoLable = MOEDAS;
                }
                else if (s.Equals("UnidadeMedida"))
                {
                    descritivoLable = UNIDADEMEDIDA;
                }
                this.LabelEditTitulo.Text += descritivoLable;
                hfTipoDesc.Value = descritivoLable;

                String cod = Request.QueryString["cod"];
                if (String.IsNullOrEmpty(cod))
                {
                    hfCod.Value = String.Empty;
                    LimpaDadosForm();
                }
                else
                {
                    hfCod.Value = cod;

                    Tipologia tipologia = tipologias.ObterPorChave(s, cod);

                    this.txtCodigo.Text = tipologia.Codigo;
                    this.txtDescricao.Text = tipologia.Descricao;
                    this.txtDescricaoCurta.Text = tipologia.DescricaoCurta;
                    this.txtSimbolo.Text = tipologia.Simbolo;
                }
            }
            
        }

        private void LimpaDadosForm()
        {
            this.txtCodigo.Text = String.Empty;
            this.txtDescricao.Text = String.Empty;
            this.txtDescricaoCurta.Text = String.Empty;
            this.txtSimbolo.Text = String.Empty;
            
        }

        protected void Unnamed2_Click(object sender, EventArgs e)
        {
            String s = hfTipo.Value;
            if (s == null)
            {
                return;
            }
            Response.Redirect(@"~\tipologias\WebFormTipologias.aspx?tipo=" + s + "&cod=" + txtCodigo.Text);
        }

        protected void Unnamed1_Click(object sender, EventArgs e)
        {
            String s = hfTipo.Value;
            if (s == null)
            {
                return;
            }

            String cod = hfCod.Value;
            Tipologia tipo = new Tipologia();
            tipo.Tipo = s;
            tipo.Codigo =  this.txtCodigo.Text;
            tipo.Descricao = this.txtDescricao.Text;
            tipo.DescricaoCurta = this.txtDescricaoCurta.Text;
            tipo.Simbolo = this.txtSimbolo.Text;

            if (String.IsNullOrEmpty(cod))
            {
                tipologias.Insere(tipo);
            }
            else{
                tipologias.Actualiza(tipo);
            }
            
            Response.Redirect(@"~\tipologias\WebFormTipologias.aspx?tipo=" + s);
        }
            
        
    }
}